package com.atguigu.pamentdemo.service;

import com.atguigu.pamentdemo.entity.OrderInfo;
import com.atguigu.pamentdemo.enums.OrderStatus;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;

public interface orderInfoService extends IService<OrderInfo> {

    /**
     * 保存订单
     */
    OrderInfo createOrderByProductId(Long productId);

    /**
     * 缓存二维码
     */
    void saveCodeUrl(String orderNo,String codeUrl);

    /**
     * 显示订单列表
     * @return
     */
    List<OrderInfo> listOrderByCreateTimeDesc();


    /**
     * 根据订单编号更新订单状态
     * @param orderNo
     * @param success
     */
    void updateStatusByOrderNo(String orderNo, OrderStatus success);

    String getOrderStatus(String orderNo);


    /**
     * 从第0秒开始每隔30秒执行1次，查询创建超过5分钟，并且未支付的订单
     * @param minutes
     * @return
     */
    List<OrderInfo> getNoPayOrderByDuration(int minutes);


    OrderInfo getOrderByOrderNo(String orderNo);
}
